let tree = {};
layui.use(['element', 'form', 'table', 'layer', 'tree', 'util'], function() {
    let form = layui.form; //select、单选、复选等依赖form
    let element = layui.element; //导航的hover效果、二级菜单等功能，需要依赖element模块
    tree = layui.tree;

    //var treeData;
    //获取菜单数据
    // $.ajax({
    //     //几个参数需要注意一下
    //     type: "POST", //方法类型
    //     dataType: "json", //预期服务器返回的数据类型
    //     scriptCharset: 'UTF-8',
    //     url: "/courseCategory/tree", //url
    //     success: function(result) {
    //         console.log(result); //打印服务端返回的数据(调试用)
    //         if (result.code == 200) {
    //             alert("SUCCESS");
    //             treeData = result.data;
    //         } else {
    //             alert("系统异常")
    //         };
    //     }
    // });


    //数据说明：id对应id，title对应menuName，href对应menuPath
    // let treeData = commonUtil.updateKeyForLayuiTree(data.data);

    var treeData = [{ "id": 1, "title": "必体验", "children": [] }, { "id": 2, "title": "休闲生活", "children": [{ "id": 15, "level": 2, "title": "热门城市", "child": [{ "id": 5, "title": "乌鲁木齐", "child": [] }, { "id": 6, "title": "北京", "child": [] }, { "id": 7, "title": "南京", "child": [] }, { "id": 8, "title": "昌吉", "child": [] }, { "id": 9, "title": "西安", "child": [] }] }, { "id": 16, "title": "主题", "child": [{ "id": 10, "title": "城市经典", "child": [] }, { "id": 11, "title": "四季美食", "child": [] }, { "id": 12, "title": "周末减压", "child": [] }, { "id": 13, "title": "亲子成长", "child": [] }, { "id": 14, "title": "聚会团建", "child": [] }] }] }, { "id": 3, "title": "慢旅", "child": [] }, { "id": 4, "title": "酒店民宿", "child": [] }];
    //开启节点操作图标
    tree.render({
        elem: '#menuTree',
        id: 'menuTree',
        data: [{
            title: '系统菜单根节点',
            href: "/",
            id: "0",
            spread: true,
            children: treeData
        }],
        onlyIconControl: true,
        edit: ['add', 'del']
            //节点被点击
            //   ,
            // click: function(obj) {
            //         //回显操作表单，说明：menuId对应id，title对应menuName，href对应menuPath
            //         $("#menuForm").form({
            //             menuId: obj.data.id,
            //             menuName: obj.data.title,
            //             menuPath: obj.data.href,
            //             menuParentName: obj.elem.parent().parent().children(".layui-tree-entry").find(".layui-tree-txt").text(),
            //             menuParentId: obj.elem.parent().parent().data("id"),
            //             treeId: obj.data.id
            //         });
            //     }
            //复选框被点击
            ,
        oncheck: function(obj) {
                console.log(obj.data); //得到当前点击的节点数据
                console.log(obj.checked); //得到当前节点的展开状态：open、close、normal
                console.log(obj.elem); //得到当前节点元素
            }
            //对节点进行增删改操作回调
            ,
        operate: function(obj) {
            let type = obj.type; //得到操作类型：add、edit、del
            let data = obj.data; //得到当前节点的数据
            let elem = obj.elem; //得到当前节点元素

            if (type === 'add') { //增加节点
                $("#menuForm")[0].reset();
                //返回 key 值
                return "";
            } else if (type === 'del') { //删除节点
                layer.confirm('确认要删除这个菜单吗？/n注意：删除父节点将会一同删除子节点', function(index) {
                    $.delete(ctx + "/sys/sysMenu/delete/" + data.id, {}, function() {
                        layer.msg("删除成功");
                        elem.remove();
                    });
                    layer.close(index);
                });

            }
        }

    });
    // });
});


/**
 * 提交保存
 */
function menuFormSave() {
    var menuForm = $("#menuForm").serializeObject();
    if (menuForm.menuId === "0") {
        layer.msg("根节点仅用于展示，不可操作！", { icon: 2, time: 2000 }, function() {});
        return;
    }
    if (menuForm.menuParentId === "0") {
        menuForm.menuParentId = "";
    }
    $.post(ctx + "/sys/sysMenu/save", menuForm, function(data) {
        layer.msg("保存成功", { icon: 1, time: 2000 }, function() {});

        //更新树组件
        $("div[data-id='" + menuForm.treeId + "']").children(".layui-tree-entry").find(".layui-tree-txt").text(data.data.menuName);
        $("div[data-id='" + menuForm.treeId + "']").attr("data-id", data.data.menuId);
    });
}